1. Field
The invention disclosed and claimed herein generally pertains to use of a virtual machine (VM) image to provision a specified virtual machine. More particularly, the invention pertains to assembling or constructing the VM image from components or slices obtained from one or more other VM images.
2. Description of the Related Art
As is known by those of skill in the art, a virtual machine (VM) is a software implementation of a computer or like machine that executes programs in the manner of a physical machine. A virtual machine image is a group of software and data components that are used to provision a virtual machine, in order to provide a VM instance. VM images are of increasing interest in connection with cloud computing, wherein computer related resources are delivered over a network, such as the Internet, from a cloud computing resource supplier to a user.
Notwithstanding the benefits of making VM images available to users by cloud computing or other means, in order to achieve coherence and economies of scale, the current use of VM images has significant disadvantages. For example, a given VM image could include a particular operating system, a particular database, particular database tables that required the particular database, and a particular Web service. A user who needed access to the particular database and database tables might decide to use the given VM image to obtain such access. However, the user would have to pay a charge for accessing the particular operating system and web service, as well as for the particular database and database tables. This could be a very undesirable burden for the user, if the user already had other access to the particular operating system, and did not need the particular web service.
A further drawback in the use of VM images can be the slowness with which they may become available. As an illustration of this, the user could be receiving the given VM image described above, wherein the user could start doing useful work as soon as the particular operating system and database were instantiated at his location. Such instantiation could require only ten minutes. However, in current arrangements, these two components would not become available for use until the entire given VM image was instantiated in its entirety at the user's location. Thus, this instantiation would include the particular database tables and particular web service, which the user did not need immediately to begin his work. These items could add five or 10 minutes to the total instantiation time, by way of example. These added five or 10 minutes that the user would have to wait to begin his work could be quite burdensome, such as if the user had to instantiate the VM image frequently, or wanted to include it in a product being marketed to others.
Yet another disadvantage of currently used VM images pertains to trust or security. For the above given VM image, it could happen that the particular operating system and database were known by the user to be totally secure, but the web service was not known to be secure. Accordingly, if the user wanted to use the VM image in a product he was marketing, he could not guarantee its security.